1 /**
2  * Types that identify events values
3  * 
4  * Authors:
5  * 		Richard Andrew Cattermole
6  * 
7  * License:
8  * 		The MIT License (MIT)
9  *
10  *		Copyright (c) 2014 Devisualization (Richard Andrew Cattermole)
11  *  	
12  *		Permission is hereby granted, free of charge, to any person obtaining a copy
13  * 		of this software and associated documentation files (the "Software"), to deal
14  * 		in the Software without restriction, including without limitation the rights
15  * 		to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16  * 		copies of the Software, and to permit persons to whom the Software is
17  * 		furnished to do so, subject to the following conditions:
18  *  	
19  * 		The above copyright notice and this permission notice shall be included in all
20  * 		copies or substantial portions of the Software.
21  *  	
22  * 		THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23  * 		IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24  * 		FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25  * 		AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26  * 		LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27  * 		OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28  * 		SOFTWARE.
29  */
30 module devisualization.window.interfaces.events;
31 
32 /**
33  * Identifies mouse buttons by name.
34  */
35 enum MouseButtons {
36     Left,
37     Right,
38     Middle
39 }
40 
41 /**
42  * Bitwised key modifiers.
43  * Expected to be combined to modify how a key is represented.
44  * 
45  * See_Also:
46  * 		Keys
47  */
48 enum KeyModifiers : ubyte {
49     None = 1 << 0,
50     Shift = 1 << 1,
51     Control = 1 << 2,
52     Alt = 1 << 3,
53     Super = 1 << 4
54 }
55 
56 /**
57  * Known keys to be handled by most operating system using a 101 key keyboard.
58  */
59 enum Keys {
60     Unknown,
61     F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12,
62     A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z,
63     Number0, Number1, Number2, Number3, Number4, Number5, Number6, Number7, Number8, Number9,
64     LeftBracket, RightBracket, Semicolon, Comma, Period, Quote, Slash, Backslash, Tilde, Equals, Hyphen,
65     Escape, Space, Enter, Backspace, Tab, PageUp, PageDown, End, Home, Insert, Delete, Pause,
66     Left, Right, Up, Down,
67     Numpad0, Numpad1, Numpad2, Numpad3, Numpad4, Numpad5, Numpad6, Numpad7, Numpad8, Numpad9,
68     Add, Subtract, Multiply, Divide
69 }